
/**
 * http协议 get请求
 * @param {*} url 请求的服务器地址
 * @param {*} paramsObj 参数
 * @param {*} that 当前this
 * @param {*} successFun 数据请求成功调用的函数
 */
export function get(url, paramsObj, that, successFun) {

    $.ajax({
        url: url,
        type: 'GET',
        async: true,
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        data: paramsObj,
        dataType: 'json',
        // contentType: "application/json",
        // beforeSend: function (xhr) {
        //     xhr.setRequestHeader("Origin", "headertest");
        //     xhr.setRequestHeader("User-Agent", "uTorrent");
        // },
        success: function (data) {
            // ToastHide();
            // if (data.stat == -1 || data.stat == 2) {
            //     that.props.history.push('/login');
            //     return;
            // }
            successFun(data);
        },
        error: function (ex) {
            // ToastHide();
            LogError('获取数据出错, ', ex);
        },
        complete:function(){
            // ToastHide();
        }
    });
}

/**
 * 发送 post 请求（首先会发送option）
 * @param {*} url 请求的服务器地址
 * @param {*} paramsObj 参数 这里是对象的形式
 * @param {*} that 当前this
 * @param {*} successFun 数据请求成功调用的函数
 */
export function post(url, paramsObj, that, successFun) {

    // ToastLoad('加载中...');

    $.ajax({
        url: url,
        type: 'POST',
        async: true,
        xhrFields: {
            withCredentials: true
        },
        crossDomain: true,
        data: paramsObj,
        dataType: 'json',
        // contentType: "application/json",
        // beforeSend: function (xhr) {
        //     xhr.setRequestHeader("Origin", "headertest");
        //     xhr.setRequestHeader("User-Agent", "uTorrent");
        // },
        success: function (data, status, xhr) {
            // ToastHide();
            // //没有登录去登录
            // if (data.stat == -1 || data.stat == 2) {
            //     that.props.history.push('/login');
            //     return;
            // }
            successFun(data);
        },
        error: function (ex) {
            // ToastHide();
            LogError('获取数据出错, ', ex);
            alert(JSON.stringify(ex))
        },
        complete: function () {
            // ToastHide();
        }
    });
}

/**
 * http协议 get请求
 * @param {*} url 请求的服务器地址
 * @param {*} paramsObj 参数
 * @param {*} that 当前this
 * @param {*} successFun 数据请求成功调用的函数
 */
export function get1(url, paramsObj, that, successFun) {
    url = url + "?" + Object.keys(paramsObj).map((key) => {
        return encodeURIComponent(key) + '=' + encodeURIComponent(paramsObj[key]);
      }).join('&');
      
    var result = fetch(url, {
        method: 'get',
        credentials: 'include',
        mode: 'cors',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
        },
    });
    result.then(res => {
        return res.json()
    }).then(json => {
        const data = json;
        // if (data.stat == -1) {
        //     that.props.history.push('/login');
        // }
        successFun(data);
    }).catch(ex => {
        // 发生错误  
        console.log('获取数据出错, ', ex.message)
    });
}

/**
 * 发送 post 请求（首先会发送option）
 * @param {*} url 请求的服务器地址
 * @param {*} paramsObj 参数 这里是对象的形式
 * @param {*} that 当前this
 * @param {*} successFun 数据请求成功调用的函数
 */
export function post1(url, paramsObj, that, successFun) {
    var result = fetch(url, {
        method: 'post',
        credentials: 'include',
        mode: 'cors',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
        },
        body: Object.keys(paramsObj).map((key) => {
            return encodeURIComponent(key) + '=' + encodeURIComponent(paramsObj[key]);
          }).join('&')
    });

    result.then(res => {
        return res.json()
    }).then(json => {
        const data = json;
        // if (data.stat == -1) {
        //     that.props.history.push('/login');
        // }
        successFun(data);
    }).catch(ex => {
        // 发生错误  
        console.log('获取数据出错, ', ex.message)
    });
}